﻿Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Web.UI.DataVisualization.Charting

Public Class Informe3
    Inherits System.Web.UI.Page

    'LA PUTA QUE LO PARIOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO



    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        Try
            If Not IsPostBack Then
                Var_Globales.Setea_paginas("Informe3.aspx")
                FG.CargaCombo("traerVacunas", cboVacunas)
                Me.cboVacunas.Items.Add("Todas")
                Me.pnlVacunacion.Visible = True
            End If

        Catch ex As Exception
        End Try
    End Sub


    Private Sub limpiarPaneles()
        Me.pnlVacunacion.Visible = False
        Me.pnlAnioGraf.Visible = False
        Me.pnlCie.Visible = False
    End Sub

    'Private Sub ImageButton1_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageButton1.Click
    '    iframe1.Attributes.Remove("src")
    '    iframe1.Attributes.Add("src", "MapaSINcabecera.aspx")
    'End Sub

    Protected Sub cboCriterioBusq_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles cboCriterioBusq.SelectedIndexChanged
        limpiarPaneles()
        Select Case Me.cboCriterioBusq.Text
            Case "Porcentaje de pacientes vacunados"
                FG.CargaCombo("traerVacunas", cboVacunas)
                Me.cboVacunas.Items.Add("Todas")
                Me.pnlVacunacion.Visible = True
            Case "Tasa bruta de mortalidad"
            Case "Enfermedades"
                CargaComboDelfiltroCieXPrimeraVez()
                Me.pnlCie.Visible = True
            Case Else
                Me.pnlAnioGraf.Visible = True
        End Select

    End Sub




    Private Sub CargaComboDelfiltroCieXPrimeraVez()

        FG.CargaCombo("TraeClasificacionGeneralCie", CboClasificacionGeneral)
        CboClasificacionGeneral.Items.Add("TODAS")
        CboClasificacionGeneral.Text = "TODAS"

        'cargo el combo por el valor del combo del CboClasificacionGeneral
        FG.CargaCombo("TraeSubClasif_CIE_xClasificacionGral", cboSubClasificacion, CboClasificacionGeneral.Text)
        cboSubClasificacion.Items.Add("TODOS")
        cboSubClasificacion.Text = "TODOS"


        'cargo el combo categoria
        CargaCombo_x_2_valores("TraeCategoriaCie_X_claGralySubClasf", cboCategoria, CboClasificacionGeneral.Text, cboSubClasificacion.Text)
        cboCategoria.Items.Add("TODAS")
        cboCategoria.Text = "TODAS"

    End Sub

    Protected Sub CboClasificacionGeneral_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles CboClasificacionGeneral.SelectedIndexChanged

        'cargo el combo por el valor del combo del CboClasificacionGeneral
        FG.CargaCombo("TraeSubClasif_CIE_xClasificacionGral", cboSubClasificacion, CboClasificacionGeneral.Text)
        cboSubClasificacion.Items.Add("TODOS")
        cboSubClasificacion.Text = "TODOS"


        'cargo el combo categoria
        CargaCombo_x_2_valores("TraeCategoriaCie_X_claGralySubClasf", cboCategoria, CboClasificacionGeneral.Text, cboSubClasificacion.Text)
        cboCategoria.Items.Add("TODAS")
        cboCategoria.Text = "TODAS"


    End Sub

    Protected Sub cboSubClasificacion_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles cboSubClasificacion.SelectedIndexChanged

        'cargo el combo categoria
        CargaCombo_x_2_valores("TraeCategoriaCie_X_claGralySubClasf", cboCategoria, CboClasificacionGeneral.Text, cboSubClasificacion.Text)
        cboCategoria.Items.Add("TODAS")
        cboCategoria.Text = "TODAS"

    End Sub

    Protected Sub btnGenerarCie_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnGenerarCie.Click
        Dim param(0) As ADODB.Parameter
        Dim rs As ADODB.Recordset
        Dim dt As New DataTable
        Dim titleChart As String


        'Elijo reporte a mostrar del combo

        Select Case (cboCriterioBusq.SelectedValue)

            Case "Tasa bruta de natalidad"
                rs = Datos.TraerTodos("traerNatalidadBruta", Nothing, "")
                titleChart = "Tasa bruta de natalidad"

            Case "Tasa bruta de mortalidad general"
                rs = Datos.TraerTodos("traerMortalidadBruta", Nothing, "")
                titleChart = "Tasa bruta de mortalidad general"

            Case "Tasa de mortalidad infantil"
                rs = Datos.TraerTodos("traerMortalidadInfantil", Nothing, "")
                titleChart = "Tasa de mortalidad infantil"

            Case "Porcentaje de cobertura de BCG en menores de un año"
                rs = Datos.TraerTodos("traerBGCMenores", Nothing, "")
                titleChart = "Porcentaje de cobertura de BCG en menores de un año"
                'Case "Médicos cada 100 pacientes"
                '    rs = Datos.TraerTodos("traerMedicosPaciente", Nothing, "")
            Case Else
                rs = Datos.TraerTodos("traerMedicosPaciente", Nothing, "")
                titleChart = "Médicos cada 100 pacientes"

        End Select

        'Traigo los datos a mostrar
        dt = FG.cargaUnDataTable(rs)

        'Creo seteo ChartArea1
        FG.cargaChart(Chart1, titleChart, tipoGrafico.torta, rs)



    End Sub


    '==========================================
    'Genera vacunas
    '==========================================

    Private Sub btnGenerarVacunas_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnGenerarVacunas.Click

        Dim i As Integer

        Dim param(2) As ADODB.Parameter
        Dim Rs As ADODB.Recordset

        param(0) = New ADODB.Parameter
        param(0).Name = "@vacuna"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = cboVacunas.Text
        param(0).Size = 20

        param(1) = New ADODB.Parameter
        param(1).Name = "@RangoDesde"
        param(1).Type = ADODB.DataTypeEnum.adDate '<--campo fecha
        param(1).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(1).Value = "1/10/2013"

        param(2) = New ADODB.Parameter
        param(2).Name = "@RangoDesde"
        param(2).Type = ADODB.DataTypeEnum.adDate '<--campo fecha
        param(2).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(2).Value = "10/11/2013"


        Rs = Datos.TraerTodos("Trae_PorcentajeDeVacunadosXVacunaYfecha", param, "Informe3.aspx")


        '--------------------------------------------------------
        'Bloque para llenar chart1, copiarlos en todos los botones.
        Dim titleChart As String
        titleChart = "Vacunas prueba" 'modificar por nombre de informe

        'Seteo tipo de grafico
        Dim grafico As TipoGrafico
        Select Case (cboTipoGraf.SelectedValue)
            Case "Gráfico de torta"
                grafico = TipoGrafico.Torta
            Case ("Gráfico de barras")
                grafico = TipoGrafico.Barra
            Case "Gráfico de área"
                grafico = TipoGrafico.Area
        End Select

        'Funciona para llenar chart1. parametros a pasar (Nombre del Chart1, titulochart, Tipo de grafico, Recordset)
        'Ejmeplo linea abajo
        FG.cargaChart(Chart1, titleChart, grafico, Rs)
        '--------------------------------------------------------

        'carga tabla
        Me.gvTablita.DataSource = FG.cargaUnDataTable(Rs)
        Me.gvTablita.DataBind()





        '===========================================
        'TOP 3!!!
        '===========================================

        Me.pnlrdos.Visible = "true"

        Rs.MoveFirst()

        'ESTO ES UN MODELO PARA LOS INFORMES, LUEGO CON INFO REAL VEMOS!!!
        Dim sb1 As New StringBuilder
        Dim sb2 As New StringBuilder
        Dim sb3 As New StringBuilder

        For i = 1 To Rs.RecordCount
            If i <= 3 Then
                'nomPcia = Rs.Fields(0).Value
                If i = 1 Then
                    lblPcia1.Visible = True
                    lblPcia1.Text = Rs.Fields(0).Value.ToString
                    imgPcia1.Visible = True
                    imgPcia1.ImageUrl = "~/Imagenes/Provincias/" & Replace(Rs.Fields(0).Value.ToString, " ", "") & "Blue.png"
                    sb1.AppendLine(Rs.Fields(0).Value.ToString)
                    sb1.AppendLine(Rs.Fields(1).Value.ToString & " pacientes vacunados contra la hepatitis B")
                    sb1.AppendLine("Total: " & Rs.Fields(2).Value.ToString & " %")
                    Me.imgPcia1.ToolTip = sb1.ToString
                ElseIf i = 2 Then
                    lblPcia2.Visible = True
                    lblPcia2.Text = Rs.Fields(0).Value.ToString
                    imgPcia2.Visible = True
                    imgPcia2.ImageUrl = "~/Imagenes/Provincias/" & Replace(Rs.Fields(0).Value.ToString, " ", "") & "Blue.png"
                    sb2.AppendLine(Rs.Fields(0).Value.ToString)
                    sb2.AppendLine(Rs.Fields(1).Value.ToString & " pacientes vacunados contra la hepatitis B")
                    sb2.AppendLine("Total: " & Rs.Fields(2).Value.ToString & " %")
                    Me.imgPcia2.ToolTip = sb2.ToString
                Else
                    lblPcia3.Visible = True
                    lblPcia3.Text = Rs.Fields(0).Value.ToString
                    imgPcia3.Visible = True
                    imgPcia3.ImageUrl = "~/Imagenes/Provincias/" & Replace(Rs.Fields(0).Value.ToString, " ", "") & "Blue.png"
                    sb3.AppendLine(Rs.Fields(0).Value.ToString)
                    sb3.AppendLine(Rs.Fields(1).Value.ToString & " pacientes vacunados contra la hepatitis B")
                    sb3.AppendLine("Total: " & Rs.Fields(2).Value.ToString & " %")
                    Me.imgPcia3.ToolTip = sb3.ToString
                End If

                Rs.MoveNext()
            Else
            End If
        Next i

    End Sub


    Private Sub imgHtalAlvarez_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles imgHtalAlvarez.Click
        mdlpopupHtalAlvarez.Show()
    End Sub




    '======================================================
    'Acá va el botón más genérico, hago un select case que
    'dependa de lo que tiene el combo de selección
    '======================================================

    Protected Sub btnAnioGraf_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnAnioGraf.Click

        Dim param(0) As ADODB.Parameter
        Dim Rs As ADODB.Recordset

        param(0) = New ADODB.Parameter
        param(0).Name = "@anio"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = cboAnioGraf.Text
        param(0).Size = 20


        Dim titleChart As String
        titleChart = "Vacunas prueba" 'modificar por nombre de informe

        'Seteo tipo de grafico
        Dim grafico As TipoGrafico
        Select Case (cboTipoGraf.SelectedValue)
            Case "Gráfico de torta"
                grafico = TipoGrafico.Torta
            Case ("Gráfico de barras")
                grafico = TipoGrafico.Barra
            Case "Gráfico de área"
                grafico = TipoGrafico.Area
        End Select

        Select Case Me.cboCriterioBusq.Text
            Case "Cantidad de niños con bajo peso al nacer"
                Rs = Datos.TraerTodos("INFOME_BajoPEsoALNAcEr_x_Prov_x_ANiO", param, "Informe3.aspx")
                cargaChart(Chart1, "Cantidad de niños con bajo peso al nacer", grafico, Rs)
                Me.gvTablita.DataSource = FG.cargaUnDataTable(Rs)
                Me.gvTablita.DataBind()
            Case "Nacimientos"
                Rs = Datos.TraerTodos("INFOME_Nacidos_x_Prov_x_ANiO", param, "Informe3.aspx")
                cargaChart(Chart1, "Cantidad de niños con bajo peso al nacer", grafico, Rs)
                Me.gvTablita.DataSource = FG.cargaUnDataTable(Rs)
                Me.gvTablita.DataBind()
            Case "Nacimientos prematuros"
                Rs = Datos.TraerTodos("INFOrME_NacimientoPrematuro_x_Prov_x_ANiO", param, "Informe3.aspx")
                cargaChart(Chart1, "Cantidad de niños con bajo peso al nacer", grafico, Rs)
                Me.gvTablita.DataSource = FG.cargaUnDataTable(Rs)
                Me.gvTablita.DataBind()
            Case "Tasa bruta de natalidad"
                Rs = Datos.TraerTodos("INFORME_Natalidad_x_Provincia_x_ano", param, "Informe3.aspx")
                cargaChart(Chart1, "Cantidad de niños con bajo peso al nacer", grafico, Rs)
                Me.gvTablita.DataSource = FG.cargaUnDataTable(Rs)
                Me.gvTablita.DataBind()
            Case "Tasa bruta de mortalidad general"
            Case "Tasa bruta de mortalidad infantil"
            Case Else
        End Select

    End Sub
End Class